<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>web worker</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
    <p>这是web worker</p>
    <h1>专用线程 --- </h1>
    <br><br>
</body>
<script>
    console.log(window.Worker)
    //为了更好的错误处理控制以及向下兼容，将你的worker运行代码包裹在以下代码中是一个很好的想法
    if(!window.Worker){  
        alert("您的浏览器不支持Web Worker!,请升级或更换浏览器")
    }
    var jsFileURI = 'sharedWorker2.js';

    //生成一个共享worker
    //生成一个新的共享worker与生成一个专用worker非常相似，只是构造器的名字不同
    var worker = new SharedWorker(jsFileURI);

// 共享线程需要与多个程序实例或页面链接 
//所以它需要通过某种方式来了解消息的来源 
//这个方式就是利用一个唯一标识符port（端口） 
    //start()方法打开端口连接
    worker.port.start();

    // 共享worker中消息的接收和发送
    worker.postMessage('加工我吧??快来吧??');
    worker.onmessage = function (e) {
        console.log(e.data,1111111111111111);
    };

    //终止worker
    //worker.terminate();
    
    //处理错误
    worker.onerror = function(e){
        console.log('出错行数在:' + e.lineno + '行,错误是:'+ e.message +".")
    }
</script>
</html>